SET QUOTED_IDENTIFIER OFF 
GO
SET ANSI_NULLS OFF 
GO



CREATE PROCEDURE clcajas_fecha

@desde_cd_caja _codigo,
@hasta_cd_caja _codigo,
@desde_cd_unidad_monetaria _codigo,
@hasta_cd_unidad_monetaria _codigo,
@desde_nu_ptovta _entero,
@hasta_nu_ptovta _entero,
@desde_fe_devengamiento _fechahora,
@hasta_fe_devengamiento _fechahora,
@desde_cd_transaccion _codigo,
@hasta_cd_transaccion _codigo,
@desde_cd_estado_trans _codigo,
@hasta_cd_estado_trans _codigo,
@valor_tp_mov_caja _codigo,
@valor_st_conciliado _logico,
@valor_st_nom_local _logico

AS

if @valor_st_conciliado =1
	select	caj.cd_caja, caj.nm_caja, caj.cd_unidad_monetaria, caj.nm_unidad_monetaria, caj.fe_devengamiento,
		rtrim(caj.cd_transaccion) + ' ' + replace(str(caj.nu_transaccion,8),' ','0') transaccion,
		caj.nu_ptovta, caj.tp_mov_caja, caj.de_movimiento, caj.im_cotizacion,
		im_ingreso =case @valor_st_nom_local
			when 1 then caj.im_ingreso *caj.im_cotizacion
			else caj.im_ingreso end,
		im_egreso =case @valor_st_nom_local
			when 1 then caj.im_egreso *caj.im_cotizacion
			else caj.im_egreso end,
		caj.cd_estado_trans, caj.st_conciliado
	from	clv_cajas caj
	where	caj.cd_caja between @desde_cd_caja and @hasta_cd_caja
		and caj.cd_unidad_monetaria between @desde_cd_unidad_monetaria and @hasta_cd_unidad_monetaria
		and caj.nu_ptovta between @desde_nu_ptovta and @hasta_nu_ptovta
		and caj.fe_devengamiento between @desde_fe_devengamiento and @hasta_fe_devengamiento
		and caj.cd_transaccion between @desde_cd_transaccion and @hasta_cd_transaccion
		and caj.cd_estado_trans between @desde_cd_estado_trans and @hasta_cd_estado_trans
		and caj.tp_mov_caja between isnull(@valor_tp_mov_caja,'') and isnull(@valor_tp_mov_caja,'ZZZZZZZZ')
		and caj.st_conciliado =0
		order by caj.cd_caja, caj.cd_unidad_monetaria, caj.fe_devengamiento

else
	select	caj.cd_caja, caj.nm_caja, caj.cd_unidad_monetaria, caj.nm_unidad_monetaria, caj.fe_devengamiento,
		rtrim(caj.cd_transaccion) + ' ' + replace(str(caj.nu_transaccion,8),' ','0') transaccion,
		caj.nu_ptovta, caj.tp_mov_caja, caj.de_movimiento, caj.im_cotizacion,
		im_ingreso =case @valor_st_nom_local
			when 1 then caj.im_ingreso *caj.im_cotizacion
			else caj.im_ingreso end,
		im_egreso =case @valor_st_nom_local
			when 1 then caj.im_egreso *caj.im_cotizacion
			else caj.im_egreso end,
		caj.cd_estado_trans, caj.st_conciliado
	from	clv_cajas caj
	where	caj.cd_caja between @desde_cd_caja and @hasta_cd_caja
		and caj.cd_unidad_monetaria between @desde_cd_unidad_monetaria and @hasta_cd_unidad_monetaria
		and caj.nu_ptovta between @desde_nu_ptovta and @hasta_nu_ptovta
		and caj.fe_devengamiento between @desde_fe_devengamiento and @hasta_fe_devengamiento
		and caj.cd_transaccion between @desde_cd_transaccion and @hasta_cd_transaccion
		and caj.cd_estado_trans between @desde_cd_estado_trans and @hasta_cd_estado_trans
		and caj.tp_mov_caja between isnull(@valor_tp_mov_caja,'') and isnull(@valor_tp_mov_caja,'ZZZZZZZZ')
		order by caj.cd_caja, caj.cd_unidad_monetaria, caj.fe_devengamiento



GO
SET QUOTED_IDENTIFIER OFF 
GO
SET ANSI_NULLS ON 
GO

